home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 076-100 / disk_077 / quest / q.g next >
Text File  |  1992-05-06  |  2KB  |  95 lines

  1. /*
  2.  * Q.G - include file for Quest globals.
  3.  */
  4.  
  5. type
  6.     Id_t = ulong;         /* used for all identifiers */
  7.  
  8. Id_t
  9.     ID_NULL = 0;         /* no such whatever found, etc. */
  10.  
  11. /*
  12.  * screen routines.
  13.  */
  14.  
  15. type
  16.  
  17.     /* type for two-character map area displays: */
  18.  
  19.     C2 = [2]char;
  20.  
  21. extern
  22.     scInit()void,
  23.     scTerm()void,
  24.     scObjFree(*byte objList)void,
  25.     scPut(char ch)void,
  26.     scPrompt(*char prompt)void,
  27.     scRead(*char buffer)void,
  28.     scNewMap(proc(long l, c)C2 scenery; *byte oldObj)*byte,
  29.     scWindow(long line, column)void,
  30.     scNew(Id_t id; long line, column; C2 chars)void,
  31.     scAt(long line, column)C2,
  32.     scMove(Id_t id; long line, column)void,
  33.     scDelete(Id_t id)void,
  34.     scNumber(Id_t id; *char name; ushort line, column, len; *long ptr)void,
  35.     scString(Id_t id; *char name; ushort line, column, len; **char ptr)void,
  36.     scMult(Id_t id; *char name; ushort line, column, lines;
  37.        proc(bool first)*char gen)void,
  38.     scUpdate(Id_t id)void,
  39.     scRemove(Id_t id)void;
  40.  
  41. /*
  42.  * parser routines.
  43.  */
  44.  
  45. type
  46.     PSForm_t = enum {f_reqId, f_reqType, f_optId, f_optType, f_multiple};
  47.  
  48. Id_t
  49.     PS_NONE = ID_NULL,
  50.     PS_ERROR = 0xffffffff;
  51.  
  52. extern
  53.     psInit(bool prefixEnabled)void,
  54.     psTerm()void,
  55.     psWord(Id_t id; *char txt; Id_t typ)void,
  56.     psDel(Id_t id)void,
  57.     psgBegin(Id_t id)void,
  58.     psgWord(PSForm_t form; Id_t data)void,
  59.     psgEnd()void,
  60.     psgDel(Id_t id)void,
  61.     psFind(*char txt)Id_t,
  62.     psGet(Id_t id)*char,
  63.     psType(Id_t id)Id_t,
  64.     psParse(*char sentence)Id_t,
  65.     pspBad()*char,
  66.     pspWord(uint pos)Id_t,
  67.     pspPref()Id_t;
  68.  
  69. /*
  70.  * list handling routines.
  71.  */
  72.  
  73. type
  74.     List_t = struct {
  75.     *List_t il_next;
  76.     Id_t il_this;
  77.     };
  78.  
  79. extern
  80.     lInit()void,
  81.     lFree(*List_t il)void,
  82.     lTerm()void,
  83.     getId()Id_t,
  84.     lAdd(**List_t pil; Id_t n)void,
  85.     lAppend(**List_t pil; Id_t n)void,
  86.     lDelete(**List_t pil; Id_t n)void,
  87.     lGet(*List_t il; ulong n)Id_t,
  88.     lIn(*List_t il; Id_t n)bool,
  89.     putProp(Id_t id, prop)void,
  90.     getProp(Id_t id, prop)bool,
  91.     delProp(Id_t id, prop)void,
  92.     putAttr(Id_t id, attr, val)void,
  93.     getAttr(Id_t id, attr)Id_t,
  94.     delAttr(Id_t id, attr)void;
  95.